In multicast/broadcast applications, data are transmitted from a server to multiple receivers over wired and/or wireless networks. A multicast system as used herein is a system in which a server transmits the same data to multiple receivers simultaneously, where the receivers form a subset of all the receivers up to and including all of the receivers. A broadcast system is a system in which a server transmits the same data to all of the receivers simultaneously. That is, a multicast system by definition can include a broadcast system.
Mobile devices include but are not limited to computers, laptops, notebook computers, personal digital assistants (PDAs), dual mode smart phones, user devices, clients, client devices, mobile terminals and any other devices that can receive streaming data via wireless networks. Streaming data includes but is not limited to audio, video, and multimedia data.
Various routing protocols and routing metrics have been well researched for best-effort data transmission. The majority of the work regarding supporting delay-sensitive streaming applications in WMNs has been based on traditional server-client architecture. Multi-path delivery with scalable video coding or multiple description coding from a single server to the receiver has been investigated to improve the robustness of video transmission over WMNs. Cross-layer adaptation schemes have also been explored to improve the transport efficiency by providing different priorities and unequal protection to scalable video traffic in IEEE 802.11e-enabled wireless mesh networks. The above schemes cannot ensure the QoS of video streaming since there is no admission control and the traffic load could exceed the network capacity. In one prior art study, an interference-aware admission control and a QoS routing scheme for WMNs was proposed. However the prior art scheme only considers a flow from a known server to a client. Client-server methods suffer from scalability problems and few of them can achieve good video streaming performance with a reasonable number of users in a certain size of WMNs. Existing admission control and routing schemes for single server cannot be directly applied to the multiple cache model.
P2P applications were first introduced for file sharing. Applications such as BitTorrent and KaZaa have attracted a large number of users and contribute to a large amount of network traffic over the Internet. Recently, P2P techniques have also been adopted to support video streaming service. Most of the P2P streaming research was done in a wired network setting and did not consider the impact of unique characteristics in wireless mesh networks. In another prior art study, peer-to-peer streaming in a WMN environment was studied and a central server was used to find the best route for each client to other peers that minimized the received video distortion. This approach required that the central server had the knowledge of the complete network connection status, which is difficult in dynamic wireless environments. In another prior art study, the collaboration among peers was studied, and the network resource information exchanges were enabled for the scalable coding of the video content and cross-layer optimization which allowed efficient adaptation to varying channel conditions and available resources. However, this approach incurred a great deal of control information overhead and dynamic path update was not considered. Moreover, pure P2P streaming experiences a long startup delay and churn-induced instability without QoS guarantee.
Caching on the wired Internet and wireless networks has been studied and it has been observed that caching can improve network performance by saving bandwidth, reducing delays to clients, and balancing the traffic load at the server and on the underlying network. The cache placement and replacement schemes have been investigated for the Internet, for Mobile Ad Hoc Network (MANet), and more recently for Wireless Mesh Networks (WMNs). Caches are typically placed at the edge of the networks in the form of browser and proxy caches, at the ends of high latency links, as part of cache hierarchies, or inside the network. These existing works focus on the cache placement and replacement, and assume the cache for retrieving content was selected by a centralized redirection scheme or by intercepting the request message along the route to the original server. In addition, they did not consider that user devices could play an important role in improving the content availability throughout the network by contributing more dynamic storage, and the cache router could function as a distributed tracker to help improve the P2P architecture. That is, the intrinsic interaction between peers and cache routers to improve the overall performance of the network throughput has not been exploited.